home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Games / NeXTGo / Source / smartgo.h < prev    next >
C/C++ Source or Header  |  1993-02-08  |  2KB  |  84 lines

  1. #include "comment.header"
  2.  
  3. #ifndef _SMART_GO_DEFINITIONS_
  4. #define _SMART_GO_DEFINITIONS_
  5.  
  6. #include <stdio.h>
  7.  
  8. #define MAX_LETTERS 12
  9. #define MAXCOMMENT 4097
  10. #define MAXCOMMENTLINES 300
  11. #define MAXCOMMENTWIDTH 50
  12.  
  13. typedef enum {
  14.   t_White,
  15.   t_Black,
  16.   t_Open,
  17.   t_Close,
  18.   t_NewNode,
  19.   t_Comment,
  20.   t_AddWhite,
  21.   t_AddBlack,
  22.   t_Letter,
  23.   t_Mark,
  24.   t_AddEmpty,
  25.   t_Name,
  26.   t_Pass,
  27.   t_Player,
  28.   t_Size,
  29.   t_Handicap,
  30.   t_PlayerBlack,
  31.   t_BlackRank,
  32.   t_PlayerWhite,
  33.   t_WhiteRank,
  34.   t_GameName,
  35.   t_Event,
  36.   t_Round,
  37.   t_Date,
  38.   t_Place,
  39.   t_TimeLimit,
  40.   t_Result,
  41.   t_GameComment,
  42.   t_Source,
  43.   t_User,
  44.   t_Komi,
  45.  
  46.   t_WS,
  47.   t_EOF
  48.   } Token;
  49.  
  50.  
  51. typedef struct _node {
  52.   int nodenum, flag;
  53.   struct _node *parent, *variants, *next_var, *prev_var, *next, *prev;
  54.   char *properties;
  55. } node;
  56.  
  57.  
  58. /*   Routines from smartgoparse.c needed by other routines.  */
  59. extern node* parse_tree(char* inputBuffer);
  60.  
  61. /*   Routines from smartgoeval.c needed by other routines.   */
  62. extern void evaluateNode(char *c, unsigned char b[][]);
  63.  
  64.  
  65. /*   Routines from smartgotree.c needed by other routines.  */
  66. extern node* forwardOneNode(node* currentNode);
  67. extern node* forwardOneNode0(node* currentNode);
  68. extern node* backOneNode(node* currentNode);
  69. extern node* findLast(node* currentNode);
  70. extern node* findLast0(node* currentNode);
  71. extern node* forwardOneVariant(node* currentNode);
  72. extern node* backOneVariant(node* currentNode);
  73. extern void clearNodeFlags(node* currentNode);
  74. extern int evaluateSteps(node* currentNode, node* targetNode, unsigned char b[][]);
  75. extern void buildToNode(node* targetNode);
  76. extern node* stepForward(node* currentNode);
  77. extern node* stepBackward(node* currentNode);
  78. extern node* jumpForward(node* currentNode);
  79. extern node* jumpBackward(node* currentNode);
  80.  
  81.  
  82. #endif
  83.  
  84.